package com.campusify.pojo;

import java.util.ArrayList;
import java.util.List;

public class TaskacceptanceExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TaskacceptanceExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andRecordidIsNull() {
            addCriterion("recordID is null");
            return (Criteria) this;
        }

        public Criteria andRecordidIsNotNull() {
            addCriterion("recordID is not null");
            return (Criteria) this;
        }

        public Criteria andRecordidEqualTo(Integer value) {
            addCriterion("recordID =", value, "recordid");
            return (Criteria) this;
        }

        public Criteria andRecordidNotEqualTo(Integer value) {
            addCriterion("recordID <>", value, "recordid");
            return (Criteria) this;
        }

        public Criteria andRecordidGreaterThan(Integer value) {
            addCriterion("recordID >", value, "recordid");
            return (Criteria) this;
        }

        public Criteria andRecordidGreaterThanOrEqualTo(Integer value) {
            addCriterion("recordID >=", value, "recordid");
            return (Criteria) this;
        }

        public Criteria andRecordidLessThan(Integer value) {
            addCriterion("recordID <", value, "recordid");
            return (Criteria) this;
        }

        public Criteria andRecordidLessThanOrEqualTo(Integer value) {
            addCriterion("recordID <=", value, "recordid");
            return (Criteria) this;
        }

        public Criteria andRecordidIn(List<Integer> values) {
            addCriterion("recordID in", values, "recordid");
            return (Criteria) this;
        }

        public Criteria andRecordidNotIn(List<Integer> values) {
            addCriterion("recordID not in", values, "recordid");
            return (Criteria) this;
        }

        public Criteria andRecordidBetween(Integer value1, Integer value2) {
            addCriterion("recordID between", value1, value2, "recordid");
            return (Criteria) this;
        }

        public Criteria andRecordidNotBetween(Integer value1, Integer value2) {
            addCriterion("recordID not between", value1, value2, "recordid");
            return (Criteria) this;
        }

        public Criteria andTaskidIsNull() {
            addCriterion("taskID is null");
            return (Criteria) this;
        }

        public Criteria andTaskidIsNotNull() {
            addCriterion("taskID is not null");
            return (Criteria) this;
        }

        public Criteria andTaskidEqualTo(Integer value) {
            addCriterion("taskID =", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidNotEqualTo(Integer value) {
            addCriterion("taskID <>", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidGreaterThan(Integer value) {
            addCriterion("taskID >", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidGreaterThanOrEqualTo(Integer value) {
            addCriterion("taskID >=", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidLessThan(Integer value) {
            addCriterion("taskID <", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidLessThanOrEqualTo(Integer value) {
            addCriterion("taskID <=", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidIn(List<Integer> values) {
            addCriterion("taskID in", values, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidNotIn(List<Integer> values) {
            addCriterion("taskID not in", values, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidBetween(Integer value1, Integer value2) {
            addCriterion("taskID between", value1, value2, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidNotBetween(Integer value1, Integer value2) {
            addCriterion("taskID not between", value1, value2, "taskid");
            return (Criteria) this;
        }

        public Criteria andAcceptoridIsNull() {
            addCriterion("acceptorID is null");
            return (Criteria) this;
        }

        public Criteria andAcceptoridIsNotNull() {
            addCriterion("acceptorID is not null");
            return (Criteria) this;
        }

        public Criteria andAcceptoridEqualTo(Integer value) {
            addCriterion("acceptorID =", value, "acceptorid");
            return (Criteria) this;
        }

        public Criteria andAcceptoridNotEqualTo(Integer value) {
            addCriterion("acceptorID <>", value, "acceptorid");
            return (Criteria) this;
        }

        public Criteria andAcceptoridGreaterThan(Integer value) {
            addCriterion("acceptorID >", value, "acceptorid");
            return (Criteria) this;
        }

        public Criteria andAcceptoridGreaterThanOrEqualTo(Integer value) {
            addCriterion("acceptorID >=", value, "acceptorid");
            return (Criteria) this;
        }

        public Criteria andAcceptoridLessThan(Integer value) {
            addCriterion("acceptorID <", value, "acceptorid");
            return (Criteria) this;
        }

        public Criteria andAcceptoridLessThanOrEqualTo(Integer value) {
            addCriterion("acceptorID <=", value, "acceptorid");
            return (Criteria) this;
        }

        public Criteria andAcceptoridIn(List<Integer> values) {
            addCriterion("acceptorID in", values, "acceptorid");
            return (Criteria) this;
        }

        public Criteria andAcceptoridNotIn(List<Integer> values) {
            addCriterion("acceptorID not in", values, "acceptorid");
            return (Criteria) this;
        }

        public Criteria andAcceptoridBetween(Integer value1, Integer value2) {
            addCriterion("acceptorID between", value1, value2, "acceptorid");
            return (Criteria) this;
        }

        public Criteria andAcceptoridNotBetween(Integer value1, Integer value2) {
            addCriterion("acceptorID not between", value1, value2, "acceptorid");
            return (Criteria) this;
        }

        public Criteria andCompletionstatusIsNull() {
            addCriterion("completionStatus is null");
            return (Criteria) this;
        }

        public Criteria andCompletionstatusIsNotNull() {
            addCriterion("completionStatus is not null");
            return (Criteria) this;
        }

        public Criteria andCompletionstatusEqualTo(Integer value) {
            addCriterion("completionStatus =", value, "completionstatus");
            return (Criteria) this;
        }

        public Criteria andCompletionstatusNotEqualTo(Integer value) {
            addCriterion("completionStatus <>", value, "completionstatus");
            return (Criteria) this;
        }

        public Criteria andCompletionstatusGreaterThan(Integer value) {
            addCriterion("completionStatus >", value, "completionstatus");
            return (Criteria) this;
        }

        public Criteria andCompletionstatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("completionStatus >=", value, "completionstatus");
            return (Criteria) this;
        }

        public Criteria andCompletionstatusLessThan(Integer value) {
            addCriterion("completionStatus <", value, "completionstatus");
            return (Criteria) this;
        }

        public Criteria andCompletionstatusLessThanOrEqualTo(Integer value) {
            addCriterion("completionStatus <=", value, "completionstatus");
            return (Criteria) this;
        }

        public Criteria andCompletionstatusIn(List<Integer> values) {
            addCriterion("completionStatus in", values, "completionstatus");
            return (Criteria) this;
        }

        public Criteria andCompletionstatusNotIn(List<Integer> values) {
            addCriterion("completionStatus not in", values, "completionstatus");
            return (Criteria) this;
        }

        public Criteria andCompletionstatusBetween(Integer value1, Integer value2) {
            addCriterion("completionStatus between", value1, value2, "completionstatus");
            return (Criteria) this;
        }

        public Criteria andCompletionstatusNotBetween(Integer value1, Integer value2) {
            addCriterion("completionStatus not between", value1, value2, "completionstatus");
            return (Criteria) this;
        }

        public Criteria andIsdeletedIsNull() {
            addCriterion("isdeleted is null");
            return (Criteria) this;
        }

        public Criteria andIsdeletedIsNotNull() {
            addCriterion("isdeleted is not null");
            return (Criteria) this;
        }

        public Criteria andIsdeletedEqualTo(Integer value) {
            addCriterion("isdeleted =", value, "isdeleted");
            return (Criteria) this;
        }

        public Criteria andIsdeletedNotEqualTo(Integer value) {
            addCriterion("isdeleted <>", value, "isdeleted");
            return (Criteria) this;
        }

        public Criteria andIsdeletedGreaterThan(Integer value) {
            addCriterion("isdeleted >", value, "isdeleted");
            return (Criteria) this;
        }

        public Criteria andIsdeletedGreaterThanOrEqualTo(Integer value) {
            addCriterion("isdeleted >=", value, "isdeleted");
            return (Criteria) this;
        }

        public Criteria andIsdeletedLessThan(Integer value) {
            addCriterion("isdeleted <", value, "isdeleted");
            return (Criteria) this;
        }

        public Criteria andIsdeletedLessThanOrEqualTo(Integer value) {
            addCriterion("isdeleted <=", value, "isdeleted");
            return (Criteria) this;
        }

        public Criteria andIsdeletedIn(List<Integer> values) {
            addCriterion("isdeleted in", values, "isdeleted");
            return (Criteria) this;
        }

        public Criteria andIsdeletedNotIn(List<Integer> values) {
            addCriterion("isdeleted not in", values, "isdeleted");
            return (Criteria) this;
        }

        public Criteria andIsdeletedBetween(Integer value1, Integer value2) {
            addCriterion("isdeleted between", value1, value2, "isdeleted");
            return (Criteria) this;
        }

        public Criteria andIsdeletedNotBetween(Integer value1, Integer value2) {
            addCriterion("isdeleted not between", value1, value2, "isdeleted");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}